package demo02;

public class Demo03LambdaCalculator {
    public static void main(String[] args) {
        int x = 10;
        int y = 20;

        // 匿名内部类：
        invokeCalc(x, y, new Calculator() {
            @Override
            public int calc(int a, int b) {
                return a + b;
            }
        });

        // Lambda标准格式：
        invokeCalc(x, y, (int a, int b) -> {
            return a + b;
        });

        // Lambda省略格式：
        invokeCalc(x, y, (a, b) -> a + b);
    }

    public static void invokeCalc(int a, int b, Calculator calculator) {
        System.out.println(calculator.calc(a, b)); // 30
    }
}
